This invention relates generally to the field of telecommunications switching systems and more particularly to a software application in a switching node that enables the switching node to interpret and manipulate network signaling information from the underlying computer network to which the switching node is attached.
An example of a switching system to which the present invention applies is described in U.S. Pat. No. 5,544,163, Expandable Telecommunications System, the contents of which are incorporated by reference herein. A telecommunication switching node described therein has line cards with multiple ports connected to subscriber""s telephone lines or to other devices such as PSTN trunks. The switching node also includes a switch/matrix card and at least two system buses for switching calls received on one port to another port in the system. One of these buses is an incoming bus that passes messages from the line cards to the matrix card and the other is an outgoing bus which transmits messages from the matrix card to the line cards.
The telecommunications system also includes a host, i.e., a group of software applications that typically reside on a computer dedicated to those applications. The switching nodes on the system are interconnected by an internodal switching network. A second network termed the xe2x80x9chost network,xe2x80x9d interconnects the switching nodes and the host computer for supervisory control. The host, the switching nodes and the line cards each includes a software protocol application that processes calls at its level of the system. Specifically, a Layer 5 (L5) protocol application in the host manages calls at the host level; a Layer 4 protocol application (L4) in the switch manages calls at the switch level; and Layer 3 (L3) protocol applications in the line cards handle calls at the line card level of the system.
Traditionally, the L5 application in the host has managed the L4 functions in the switch. Thus, when a switch received an incoming request for service from a line card, the request was transmitted from the L4 application to the L5 application. In response to the request, the L5 application instructed the L4 application on which switching functions to perform. Since the L5 application was involved in directing nearly all real-time call processing on the switch, the message traffic between the switch and the host was high and this sometimes delayed the transmission of messages between the host and the switch. Moreover, if the host-to-switch link failed or if the host failed, the switch was basically rendered inoperable.
More recently, the L4 application in the switch was expanded to provide functions previously performed exclusively in the L5 application. Moreover, the L4 application was made user-programmable so that a system owner/operator might expand pre-defined L4 call management operations to accommodate unique call processing requirements. To expand the L4 functions, the L4 application is separated into primary and secondary software objects or state machines that are separately dedicated to specific tasks for each xe2x80x9cchannelxe2x80x9d in the switching node. The term xe2x80x9cchannelxe2x80x9d encompasses the data paths between each port and the switch/matrix, and also the software objects in the switch/matrix that directly supervise the use of these paths. Each channel is associated with an instance of the primary L4 software objects.
Among the primary L4 software objects are a channel state machine (CH) and a call management state machine (CM). The CH manages state information for its associated channel. This includes information about the states of the other objects in the channel. The CM manages information about the state of any call in its associated channel. An interworking state machine is one of the secondary software objects in the L4 application. The interworking state machine gives the user the capability to specify the call model on a channel-by-channel basis.
The system described above is usually connected to other telecommunications systems in a broader telecommunications network. The L3 application receives the underlying network signaling messages in units such as, packets or frames, and it transmits these units to the L4 application. The signaling messages constitute the distinct control infrastructure that enables provisions of all other services on the network. They enable software applications in the telecommunications network to exchange messages related to call setup and call tear-down and they also enable the exchange of information needed for distributed application processing and network information management. These messages are structured according to specific protocols used by the respective systems on the network. Specifically, there are different types of network signaling protocols, each with its own data formats and standards.
Currently the switch xe2x80x98ignoresxe2x80x99 most network signaling messages received from the L3 applications and forwards them to the L5 application for processing. The L5 application separates the units, extracts the necessary data and instructs the L4 application on how to process this data. For requests to other systems, the L5 application packages the units and forwards them to the L4 application for transmission to the L3 applications. Thus, the L4 application does not process messages in various network signaling protocols without the host intervention. This requires the L5 application involvement in managing all network signaling messages on the switch and the switch is therefore still unable to process information in these messages when there is a host failure. Moreover, each time a protocol is added to the network or modified, the L5 application must also be modified to interpret it.
We have provided novel network protocol data intelligence (NPDI) software in each L4 application that enables the call processing components in either the L4 or L5 application to interpret and manipulate data arranged in different network signaling protocols. The NPDI service manipulates different network signaling protocols and extracts the required messages. It translates these messages into an xe2x80x98universalxe2x80x99 internal protocol that is xe2x80x98understoodxe2x80x99 by L5 applications and it forwards the messages to an L5 application for further processing. If an incoming signaling message is to be routed through the switch to another external system, the NPDI service also translates the message from the xe2x80x98universalxe2x80x99 protocol into an equivalent message in the protocol of the other system and forwards the message to the corresponding L3 application for further transmission to that system. Thus, the NPDI provides the means for the L4 application to convert from one network signaling protocol format to another.
If a new protocol is added to a network, the NPDI translates messages exchanged between host applications and systems using the new protocol. Therefore, host applications may communicate with systems using different protocols without modification to either the host application or the external systems. Thus the NPDI enables the L4 application to route calls in the switch based on network signaling information transmitted through the L3 application.
With the foregoing arrangement, the capability of the switch is expanded. The system operator may either configure the switching node to perform call processing functions or have the L5 application perform these functions. Moreover, we have provided the NPDI with a structure that facilitates addition or modification of network protocols.
More specifically, the NPDI service includes an NPDI function library and one or more protocol awareness applications such as an interworking component. The function library is a collection of functions that provide protocol-independent messages in a xe2x80x98universalxe2x80x99/generic data structure to the L4 and L5 call processing components. The protocol awareness applications use the function library to translate network signaling messages to universal data structures that can be used with the host L5 application or L4 switching node application. The interworking component a protocol awareness application that communicates with other objects in the L4 application and it uses the NPDI library functions in order to perform protocol translations. The library thus enables the L4 and L5 call processing components to manipulate protocol-specific data from the network or other sources.